#include <stdio.h>
/**
 *	这个函数返回参数值中值为 1 的位的个数
**/

int count_one_bits(unsigned value)
{
	int ones;

	// 当这个值还有一些值为 1 的位时 ...
	for(ones = 0; value != 0; value = value >> 1)
		// 如果最低位的值为 1, 计数增 1
		if(value % 2 != 0)
			ones = ones + 1;

	return ones;	
}

int main()
{
	printf("%d\n", count_one_bits(0xff));

	return 0;
}
